#include <vector>
using namespace std;
class Solution {
public:
    int uniquePaths(int m, int n) {
        //1.创建dp表
        //2.初始化dp表
        //3.填表
        //4.返回值
        vector<vector<int>> dp(m+1,vector<int>(n+1)); //扩展一行和一列
        dp[0][1] = 1;
        for(int i = 1;i<m+1;i++) //填dp表的顺序是从自上至下填写每行，每行从左至右填写
            for(int j = 1;j<n+1;j++)
                dp[i][j] = dp[i-1][j] + dp[i][j-1];
        return dp[m][n];
    }
};